package com.example.project.projectspringcloud.service.order;

import com.example.project.projectspringcloud.common.OperationException;
import com.example.project.projectspringcloud.entity.Page;
import com.example.project.projectspringcloud.entity.order.OrderMake;
import com.example.project.projectspringcloud.entity.order.OrderReceipt;

import java.util.List;

public interface OrderReceiptService {

    /**
     * 获取发票
     * ==============================================================================
     *
     * @param orderReceipt
     * @return
     */
    OrderReceipt get(OrderReceipt orderReceipt);

    /**
     * 获取发票列表
     * ==============================================================================
     *
     * @param page
     * @param orderReceipt
     * @return
     */
    List<OrderReceipt> list(Page page, OrderReceipt orderReceipt);

    /**
     * 保存或更新发票
     * ==============================================================================
     *
     * @param orderReceipt
     * @return
     * @throws OperationException
     */
    boolean save(OrderReceipt orderReceipt) throws OperationException;

    /**
     * 创建发票
     * ==============================================================================
     *
     * @param orderReceipt
     * @return
     * @throws OperationException
     */
    boolean create(OrderReceipt orderReceipt) throws OperationException;

    /**
     * 删除发票
     * ==============================================================================
     *
     * @param ids
     * @return
     */
    boolean delete(Integer[] ids);
}
